import numpy as np
matrix = np.array([[11, 13, 18], [45, 46, 78], [15, 87, 33]], dtype=np.int32)
print("1. 创建的3x3矩阵(int32类型):")
print(matrix)
print(f"矩阵数据类型: {matrix.dtype}")
print()


print("2. 数组的属性:")
print(f"形状(shape): {matrix.shape}")
print(f"元素总数(size): {matrix.size}")
print(f"维度(ndim): {matrix.ndim}")
print(f"每个元素字节数(itemsize): {matrix.itemsize} 字节")
print()


element = matrix[1, 2]
print(f"3. 第2行第3列的元素: {element}")
print()


row2_step2 = matrix[1, ::2]
print(f"4. 第2行、列步长为2的元素: {row2_step2}")
print()


slice_result = matrix[0:2, 1:3]
print("5. 第1~2行、第2~3列的元素:")
print(slice_result)
print()


indices_result = matrix[[0, 1], [1, 2]]
print(f"6. 第1行第2列、第2行第3列的元素: {indices_result}")
print()


bool_mask = (matrix > 30) & (matrix < 80)
bool_result = matrix[bool_mask]
print(f"7. 大于30小于80的元素: {bool_result}")
print()


linspace_array = np.linspace(5, 50, 6)
diff = linspace_array[1] - linspace_array[0]
print(f"8. [5,50]区间的6个等差数: {linspace_array}")
print(f"   公差: {diff}")
print()


logspace_array = np.logspace(0, 8, 6, base=3)
print(f"9. 底数为3，指数区间[0,8)的6个等比数: {logspace_array}")
